The present inventive concept relates to mobile devices, and more particularly, to a method for shadowing boot images of a mobile device.
Non-volatile memory (e.g., flash) storage is a crucial component of today's smartphones, tablets, ultra-books, wearable devices and other embedded and mobile devices. A “device-does-not-boot” issue comprises a very high percentage of the reasons why end users return their mobile device for repair or replacement, which can cause a significant negative user experience. Many of these device-does-not-boot symptoms are due to corruption of boot data in the flash storage device. Boot data corruption can be caused by many reasons such as a sudden power-loss, poor power subsystem design, software glitches, host system issues, inadvertent overwrite to the boot partition, unprotected data, or the like.
Conventionally, debugging of boot images is performed through USB capability that is enabled after the boot loader image gets executed. But in the conventional approach, if the boot images residing in boot partitions are corrupted, for example, due to sudden power loss events, poor system design, software glitches, and/or weakness of device firmware architecture, then the mobile devices will not boot and there is no easy method to reprogram the boot images, especially in the production version of the mobile devices, which conventionally have very limited debugging capability.
Most often it is time consuming and costly to repair these devices or debug the issues. Such problems impact not only the end users of these devices, but also the bottom line of the original manufacturer, component suppliers, and/or distribution partners. Embodiments of the present inventive concept address these and other limitations in the prior art.